package demo03.JAVAObserver;

import java.util.Observable;
import java.util.Observer;

import demo03.JAVAObserver.DisplayElement;

public class CurrentConditionsDisplay implements Observer,DisplayElement{
	Observable observable;
	private float temp; //温度
	private float humidity;//湿度
	
	
	//构造器
	public CurrentConditionsDisplay(Observable obs) {//传入的对象变为观察者
		this.observable =obs;
		obs.addObserver(this);
	}

	//java
	//相应被观察者的改变，其中obj就是被观察者传递过来的信息，该方法会在notifyObservers被调用时自动调用
	public void update(Observable o, Object arg) {
		if( o instanceof WeatherData){
			//获取数据
			WeatherData weatherData = (WeatherData) o;//Observable代理
			this.temp = weatherData.getTemp();
			this.humidity =weatherData.getHumidity();
			display();
		}
		
	}

	//自己的
	public void display() {
		System.out.println("当前天气状态:温度"+temp+",湿度:"+humidity);
		
	}

}
